The present invention is related to the subject matter of the following U.S. patent applications: Ser. No. 09/211,367 Aguilar, Gupta, and Stafford, Boot Code Verification and Recovery, Ser. No. 09/211,368 Aguilar, Gupta, and Stafford, Creating Boot Code Image on a Storage Medium, Ser. No. 09/211,366 Brewer and Gupta, Local Permanent Storage in Network Computer, and Aguilar and Gupta, Ser. No. 09/211,372 Network Connector for Reduced EMI Effects, all filed on the filing date of this application.
1. Field of the Present Invention
The present invention relates generally to the field of microprocessor based computers and more specifically to improving the reliability, flexibility, and power consumption in network computers and other limited resource computers.
2. History of Related Art
The increasing number of computing applications for which a local area network provides a desirable solution has focused increased attention on maximizing network value by carefully controlling the implementation of resources on each computer in the network. In the past, local area networks were frequently designed by interconnecting two or more personal computers, possibly in combination with a large capacity, centralized server machine. The wide spread availability and acceptance of disk based operating system software that eliminated much of the design overhead associated with implementing a local area network greatly contributed to the proliferation of networks comprised of a two or more essentially stand alone machines. Despite the ease with which such networks can be implemented, these networks are not designed to maximize value to the end user because these networks fail to distribute resources in an optimal fashion. More specifically, networks comprised simply of a collection of stand alone machines unnecessarily duplicate resources that can be offered via the network and centralized in one or more network servers. Attempts to address this concern by simply stripping resources from each network computer have resulted in network machines that lack desirable flexibility and features. Examples of such attempts include modifications or simplifications to the power supply of stand alone machines and the elimination of local permanent storage such as disk based devices. Unfortunately, the drawbacks resulting from such attempts to reduce the cost and eliminate unnecessary repetitiveness from network computers overwhelms the advantages achieved. The simplification of a conventional power supply, for example, has typically resulted in a computer incapable of implementing a conventional low power mode while elimination of disk based media from machines severely limits the software applications available to operate on such machines. Accordingly, it is desirable to introduce various improvements and features into computers, designed specifically for use in a network environment to achieve a machine that reduces cost and eliminates unnecessary redundancy in network resources without suffering a noticeable decrease in reliability, flexibility, and performance.
The problems raised above are in large part addressed by a network computer according to the present invention that facilitates local recovery of network machines, low cost implementation of permanent local storage, improved reliability through a reduction in the network computer""s susceptibility to EMI effects, as well as additional benefits discussed in greater detail below. The invention combines the savings achieved by minimizing network computer resources while offsetting the major drawbacks that occur in machines from which resources have been simply removed.
Broadly speaking, a first application of the invention contemplates a boot code storage device configured with computer instructions for executing a boot code validity check in response to a boot event to facilitate local recovery of a computer such as a network computer. In response to the boot event, such as powering up a computer in which the boot code storage device is located, an image of a boot code is copied from a first storage medium to the boot code storage device if the validity check is negative. Remaining portions of the boot code including a start up sequence are executed if the validity check is positive. In one embodiment, the boot code validity check determines the presence or absence of a boot code jumper in a motherboard to which the boot code storage device is connected. In the preferred embodiment, the boot code storage device comprises a flash memory device, preferably including a plurality of sectors. In the preferred embodiment, the boot code validity check is part of a boot block of the boot code residing in a first sector of the flash memory device. The boot block and boot code reside in contiguous memory of the boot code storage device in one implementation. The first storage medium from which the boot code is copied, in one embodiment, is a compact flash card configured with an image of the boot code.
The first application further contemplates a method of respond to a computer boot event in which a boot code validity check is executed. An image of a boot code is then copied from a first storage medium to a boot code storage device of the computer if the validity check is negative. Remaining portions of the boot code, preferably including a start up sequence, are executed if the validity check is positive. The boot event may comprise a power up of the computer or a LAN wake up event. The validity check preferably includes determining if a boot code jumper is present on the computer""s motherboard. In the preferred embodiment, the boot code validity check is executed as part of a boot block that forms a portion of the boot code residing in a first sector of the boot code storage device, such as a flash memory device.
The first application of the invention still further contemplates a method of restoring a network computer in which an operator or user configures the computer to fail a boot code validity check, such as by inserting a jumper into a boot code jumper block of the computer""s motherboard. A boot event is then executed, such as by powering on the computer, to initiate the validity check. In response to failing the validity check, an image of a boot code is copied into a boot code storage device of the computer from a first storage medium. In an embodiment in which the first storage medium is a compact flash card, the method permits local recovery of a computer that does not have a hard drive or other disk based storage medium.
A second application of the invention contemplates a method of creating a boot code image in which a computer is configured to fail a boot code creation bypass test prior to executing the bypass test. When the bypass test is subsequently executed, an image of a boot code stored in a boot code storage device is copied to a first storage medium in response to failing the bypass test. Preferably, the computer is configured to fail the bypass test by inserting at least one jumper in a motherboard of the computer. In this embodiment, the absence or presence of the at least one bypass jumper determines the outcome of the bypass test. In one embodiment, the boot code creation bypass test is executed in response to a boot event, such as a system power on or reset. In the preferred embodiment, the bypass test comprises a portion of a boot block portion of the boot code. In one embodiment, the boot code is stored to a compact flash card in response to the failure of the bypass test. A flash memory device including a plurality of sectors is used as the boot code storage device. In one embodiment, the boot block and boot code creation bypass test reside in a first sector of the flash memory device while the remaining portions of the boot code including a start up sequence reside in subsequent sectors.
The second application of the invention further contemplates a boot code storage device configured with instructions for executing a boot code creation bypass test in response to a boot event. If the bypass test fails, the boot code executes a routine that copies an image of a boot code from the boot code storage device to a first storage medium, such as the compact flash card indicated previously. If the bypass test passes, the boot code jumps around the boot block and the copy routine and executes a start up sequence to bring the computer to a predetermined initial state. In embodiments in which the boot code storage device is a flash memory device, the flash memory device preferably includes a plurality of sectors, where the boot block resides in the first sector.
The second application of the invention further contemplates a method of restoring a computer network. A first network computer is configured to fail a boot code creation bypass test. The bypass test is then executed and, in response to failing the bypass test, an image of a boot code is copied from a boot code storage device of the first network computer to a first storage medium. A second network computer is then configured to fail a boot code validity check and the validity check executed on the second computer. In response to failing the validity check, an image of the boot code is then copied from the first storage medium to a boot code storage device of the second network computer. The configuring of the first network computer comprises inserting at least one boot code creation jumper in a motherboard of the first network computer, while the configuring of the second network computer comprises inserting at least one boot code validity jumper in a motherboard of the second network computer.
A third application of the present invention contemplates a network computer. The computer includes a motherboard powered by a power supply via a single power supply plane, a clock generator, a processor, a system memory attached to the motherboard, and a network interface preferably integrated into the motherboard. The network computer is configured to assume a low power state in response to a low power event. The computer is further configured to transition from the low power state to a full power state in response to a wake up event. The wake up event may comprise a LAN wake up in the form of a command issued by a server computer coupled to the network computer via a network. In this way, the power mode of the network computer is remotely manageable by the server computer. In one embodiment, the network computer lacks a disk based storage device, but includes local permanent storage comprising a compact flash card. Preferably, the network computer""s clock generator is configured to produce a clock signal for the processor when the network computer is in the full power mode, and further configured to produce no clock signal in the low power mode. In one embodiment, the network computer further includes at least one peripheral device coupled to the processor via a peripheral bus, such as a PCI bus. In this embodiment, the computer is preferably configured to transition each peripheral device on the peripheral bus to a power management mode when the network computer enters low power mode. A preferred embodiment of the invention includes a computer with a full power mode power consumption of less than approximately 65 watts and a low power mode maximum power consumption of less than approximately 15 watts. In one embodiment, the low power event includes simply pushing an on/off button of the network computer. Similarly the wake up event may include pushing the on/off button a second time. The wake up event may be a LAN wake up event in which a wake up signal is received via the network interface, or a xe2x80x9cwake on ringxe2x80x9d event in which the wake up signal is received via a modem connection to the computer.
The third application of the present invention further contemplates a computer network, including a network computer and a server computer. The network computer includes a motherboard powered by a power supply via a single power supply plane, a clock generator, a processor, and a system memory attached to the motherboard, and a network interface that is preferably integrated into the motherboard. The network computer is configured to assume a low power state in response to a low power event and further configured to transition from the low power state to a full power state in response to a wake up event. The wake up event may be a LAN wake up signal issued by a server computer coupled to the network computer via a network medium. The server computer is interfaced to the network computer via the network and preferably configured to issue the wake up signal to the network computer. In one embodiment, the network computer is characterized by the lack of a disk based storage device, and the inclusion of local permanent storage in the form of a compact flash card. In one embodiment the local permanent storage of the server computer includes a disk based storage device and may further include a compact flash card. In the preferred embodiment, the network medium comprises cable or twisted wires. Alternatively, the network is wireless. Preferably, the low power event invokes a routine that halts the network computer clock generator and places peripheral devices attached to peripheral busses of the network computer into a power management mode. The wake up event preferably executes a reset of the peripheral busses and the clock generator.
The third application of the present invention still further contemplates a method of managing power consumption in a computer network in which a network computer including a motherboard powered by a power supply via a single power plane is forced to assume a low power mode in response to a low power event. A wake up event, such as a LAN wakeup signal issued by a server computer of the network, or a modem signal from a modem device of the network computer is then executed to transition the network computer from the low power state to a full power state. The low power event may comprise simply pushing an on/off button of the network computer. Preferably, the low power state of the network computer comprises a state in which a clock generator of the network computer is halted.
A fourth application of the present invention contemplates a network computer including, a chassis, a power supply affixed to an interior surface of the chassis, a motherboard powered by the power supply, the motherboard including a clock generator, a boot code storage device, a processor, and a system memory and a network interface suitable for interfacing the network computer to a server computer via a network. The network computer lacks a disk drive, but includes local permanent storage such as a compact flash card. Preferably, the network computer to includes one or more peripheral devices connected to a peripheral bus of the computer. In the preferred embodiment, the network interface includes one or more devices and associated circuitry integrated into the motherboard and includes an RJ45 connector. In one embodiment, the power supply powers the motherboard via a single power plane and the computer consumes less than approximately 65 watts in a full power mode and less than approximately 15 watts in a low power mode. Preferably, the boot code storage device comprises a flash memory device configured with boot code processor instructions. In one embodiment, the network computer includes disk drive facilities for receiving a disk drive unit such that a disk drive may be installed in the network computer.
The fourth application of the invention further contemplates a method of testing a network computer including connecting a disk based storage device to a network computer that lacks a disk based storage device but includes local permanent storage, such as a compact flash card. A disk based operating system, such as OS/2(copyright), Windows 98(copyright), or Windows NT(copyright), is then loaded on the network computer via the disk based storage device. A test suite supported by the disk based operating system on the network computer is then loaded and executed on the network computer to verify its functionality. The disk based storage device is then removed. In one embodiment, the method further includes similarly installing the disk based storage device in each of a plurality of network computers comprising the network, whereby a single such disk based storage device may be used to verify each of the plurality of network computers.
The fourth application of the invention still further contemplates a computer network, including at least one network computer comprised of a chassis, a power supply affixed to an interior surface of the chassis, a motherboard powered by the power supply, and a network interface preferably integrated into the motherboard and suitable for interfacing the network computer to a server computer via a network medium. The network computer lacks a disk based storage device, but includes local permanent storage such as a compact flash card. The network further includes a server computer interfaced to the network computer via the network medium. The server computer includes a chassis, a power supply attached to an interior of the server computer chassis, a motherboard, and local permanent storage including a disk based storage device. In one embodiment, the network computer power supply powers the motherboard via a single power plane and consumes less than approximately 65 watts of power. Preferably, the network interface is integrated into the motherboard and provides for an Ethernet connection to the network including an RJ45 connector. The network medium may comprise cable, twisted wire, or the atmosphere in a wireless embodiment of the network. The server computer may include additional local permanent storage in the form of a compact flash card.
A fifth application of the invention emphasizes a connector for use in a network interface to reduce EMI effects in a high speed network. The connector includes, a connector housing, preferably formed of a conductive material such as aluminum. The housing includes a receptacle face that defines a receptacle opening. A receptacle of the connector is attached to an interior surface of the housing and suitable for receiving a terminus of the network cable through the receptacle opening. The connector has a connector circuit including a cable port coupled to the network cable and an interface port coupled to the network interface. The housing defines at least one conduit adapted for receiving a light pipe. Preferably, the network interface is integrated into the motherboard a provides for an Ethernet connection. In one embodiment, the connector circuit includes magnetic components. In the preferred embodiment, the connector comprises an RJ45 connector. In an embodiment advantageous in physically smaller computers such as network computers, a maximum dimension of the housing is less than approximately one inch. In one embodiment, the connector further includes a light pipe received within the light pipe conduit. In this embodiment, a first end of the light pipe terminates at the receptacle face of the housing adjacent to the receptacle opening.
The fifth application of the invention is directed to a motherboard with an integrated network interface. The motherboard includes a printed circuit board, a connector affixed to the printed circuit board, an LED attached to the printed circuit board, and a light pipe. The LED indicates status of the network interface. The connector includes a housing and a receptacle within the housing configured to receive a network cable terminus through a receptacle opening in a receptacle face of the housing. The housing defines at least one conduit adapted to receive a light pipe. The light pipe is received within the light pipe conduit such that a first end of the light pipe terminates at a light pipe opening in the receptacle face of the housing and a second end of the light pipe terminates proximal to the LED. In this configuration, light produced by the LED proximal to the second end of the light pipe is observable at the first end of the LED. The interface is preferably provides for an Ethernet connection and the connector, such as an RJ45 connector, includes a connector circuit that has magnetic components wherein the separation of the LED and the magnetic components improves EMI susceptibility of the connector.
The fifth application of the invention further contemplates a network computer including a chassis, a motherboard including an integrated network interface. The motherboard is attached to an interior of the chassis and powered by a power supply within the chassis. The motherboard includes a processor and preferably includes at least one expansion slot. The interface preferably provides for an Ethernet connection and includes a connector; an LED, and a light pipe. The connector, such as an RJ45 connector, is affixed to the motherboard and includes a housing that defines at least one conduit adapted to receive a light pipe. The LED is attached to the motherboard and configured to indicate status of the network interface. The light pipe is received within the light pipe conduit with a first end of the light pipe terminating at a light pipe opening in the receptacle face of the housing and a second end of the light pipe terminating proximal to the LED such that light produced by the LED is observable at the first end of the LED.